package mysql8学习.初级.第13章_约束;


/**
 * 约束等级
 *
 * `Cascade方式`：在父表上update/delete记录时，
 *    同步update/delete掉子表的匹配记录
 * `Set null方式`：在父表上update/delete记录时，
 *    将子表上匹配记录的列设为null，但是要注意子表的外键列不能为 not null
 * `No action方式`：如果子表中有匹配的记录，则不允许对父表对应候选键进行update/delete操作
 * `Restrict方式`：同 no action， 都是立即检查外键约束
 * `Set default方式`（在可视化工具SQLyog中可能显示空白）：
 *      父表有变更时，子表将外键列设置成一个默认的值，但Innodb不能识别
 *
 * 如果没有指定等级，就相当于Restrict方式。
 *
 *                         修改  Cascade方式     删除Restrict方式
 * 对于外键约束，最好是采用: `ON UPDATE CASCADE ON DELETE RESTRICT` 的方式。
 *
 * 对于外键约束，最好是采用: `ON UPDATE (可变参数) ON DELETE (可变参数))` 的方式。
 * //Restrict方式
 *
 * //添加外键并设置约束等级
 * CREATE TABLE IF NOT EXISTS 表名(
 *      字段名 数据类型 约束,
 *      字段名 数据类型,
 *
 *      //表级约束   CONSTRAINT 约束名字   可不要
 *      CONSTRAINT 约束名字 FOREIGN KEY(本表字段) REFERENCES 父表(父表中的列) ON UPDATE (可变参数) ON DELETE (可变参数))
 * );
 */
public class H3_约束等级 {

}
